home *** CD-ROM | disk | FTP | other *** search
/ The Atari Compendium / The Atari Compendium (Toad Computers) (1994).iso / files / umich / telecomm / fnordadl / fn132src.zoo / cith / event.h < prev    next >
C/C++ Source or Header  |  1991-09-02  |  1KB  |  45 lines

  1. /*
  2.  * event.h -- Event handler definitions
  3.  *
  4.  * 88Jan09 orc    TODAY() macro added for day-selectable events
  5.  * 87Oct27 orc    Extracted from ctdl.h
  6.  */
  7.  
  8. #ifndef _EVENT_H
  9. #define _EVENT_H
  10.  
  11. /* #event type [days] time "name" flags */
  12.  
  13. struct evt_type {
  14.     int evtTime;        /* minutes after midnight.        */
  15.     char evtDay;        /* what days the event can happen    */
  16.                 /* (bitfield: 76543210)            */
  17.                 /*             SFRWTMS            */
  18.     short evtType;        /* type of event:            */
  19. #define EVENT_NETWORK    0        /* invoke citadel networker    */
  20. #define EVENT_PREEMPTIVE 1        /* preemptive event        */
  21. #define EVENT_TIMEOUT    2        /* nonpreemptive event        */
  22.  
  23.     int evtLen;            /* How long this event is expected to    */
  24.                 /* last.                */
  25.  
  26.     LABEL evtMsg;        /* message citadel gives you before it    */
  27.                 /* punts you into never-never land.    */
  28.                 /* It will be printed in the form    */
  29.                 /* "system going down at %d:%d for %s".    */
  30.  
  31.     int evtRel;            /* relative event flag for timeouts    */
  32.                 /* if this flag is set, citadel will    */
  33.                 /* find evtTime by adding evtRel to    */
  34.                 /* curTime()                */
  35.  
  36.     short evtFlags;        /* special event flags for the net:    */
  37.                 /* return code for everything else    */
  38. } ;
  39.  
  40. #define    TODAY(x, d)    ((x).evtDay & (1<<(d)))
  41. #define    isNetwork(x)    ((x)->evtType == EVENT_NETWORK)
  42. #define    isPreemptive(x)    (isNetwork(x) || (x)->evtType == EVENT_PREEMPTIVE)
  43.  
  44. #endif
  45.